package com.eastfair.home.service;

import com.eastfair.boot.service.SuperService;
import com.eastfair.home.dto.ReportBuilderAuditDTO;
import com.eastfair.home.entity.ReportBuilderAudit;
import com.eastfair.home.vo.ReportBuilderAuditVO;

/**
 * <p>
 * 业务接口
 * 报馆搭建商信息审核记录
 * </p>
 *
 * @author dq
 * @date 2022 -08-08
 */
public interface ReportBuilderAuditService extends SuperService<ReportBuilderAudit> {

    /**
     * 报馆审核ID查询报馆搭建商审核VO.
     *
     * @param reportSpaceAuditId the report space audit id
     * @return the report builder audit vo by report space audit id
     */
    ReportBuilderAuditVO getVOByReportSpaceAuditId(Long reportSpaceAuditId);

    /**
     * 报馆审核ID查询报馆搭建商审核.
     *
     * @param reportSpaceAuditId the report space audit id
     * @return the report builder audit by report space audit id
     */
    ReportBuilderAudit getByReportSpaceAuditId(Long reportSpaceAuditId);

    /**
     * 报馆ID查询报馆搭建商审核.
     *
     * @param reportSpaceId the report space id
     * @return the report builder audit by report space id
     */
    ReportBuilderAudit getByReportSpaceId(Long reportSpaceId);

    /**
     * 获取报馆搭建商审核.
     *
     * @param query the query
     * @return the report builder audit
     */
    ReportBuilderAudit getReportBuilderAudit(ReportBuilderAuditDTO query);

    /**
     * 提交报馆搭建商审核.
     *
     * @param reportBuilderAuditDTO the report builder audit dto
     * @return the boolean
     */
    boolean submitReportBuilderAudit(ReportBuilderAuditDTO reportBuilderAuditDTO);

    /**
     * 保存报馆搭建商审核.
     *
     * @param reportBuilderAuditDTO the report builder audit dto
     * @return the boolean
     */
    boolean saveReportBuilderAudit(ReportBuilderAuditDTO reportBuilderAuditDTO);

    /**
     * 更新报馆搭建商审核.
     *
     * @param reportBuilderAuditDTO the report builder audit dto
     * @param reportSpaceAuditId    the report space audit id
     * @return the boolean
     */
    @Deprecated
    boolean updateByReportSpaceAuditId(ReportBuilderAuditDTO reportBuilderAuditDTO, Long reportSpaceAuditId);

    /**
     * 报馆ID删除报馆搭建商审核.
     *
     * @param reportSpaceId the report space id
     * @return the boolean
     */
    boolean removeByReportSpaceId(Long reportSpaceId);
}
